//
//  HYNetHelper.h
//  HYUser
//
//  Created by Alan Wang on 2020/8/6.
//  Copyright © 2020 victor lau. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <JFBase/JFBase.h>

NS_ASSUME_NONNULL_BEGIN

@interface HYNetHelper : NSObject
+(BOOL)isLogined;
+(void)setLogined:(BOOL)islogin;
+(NSString*)appid;
+(void)setAuthToken:(NSString*)authToken;
+(void)auth0auth:(NSString*)accessToken appId:(NSString*)appId tfaToken:(NSString*)tfaToken  verifyType:(NSString*)verifyType callBack:(JFCallBack)callback;
+(void)smsAuthorizationCode:(NSString*)accessToken appId:(NSString*)appId callBack:(JFCallBack)callback;
+(void)currencies:(JFCallBack)callback;
+(void)wallets:(JFCallBack)callback;
+(void)walletsMeta:(NSString *)walletsId callback:(JFCallBack)callback;

+(void)send:(NSString*)asset_symbol amount:(NSString*)amount  wallet_id:(NSString*)wallet_id  to_wallet_id:(NSString*)to_wallet_id to:(NSString *)to tenor:(NSString*)tenor verifyType:(NSString *)verifyType token:(NSString *)token  callBack:(JFCallBack)callback;
+(void)tenor:(NSString*)asset_symbol from_wallet_id:(NSString*)from_wallet_id to_wallet_id:(NSString*)to_wallet_id amount:(NSString*)amount callBack:(JFCallBack)callback;

+(void)userCryptoAddress:(JFCallBack)callback;
+(void)userCryptoAddressDeleteWithId:(NSString*)addId callback:(JFCallBack)callback;
+(void)userCryptoAddressPathcWithId:(NSString*)addId callback:(JFCallBack)callback;
+(void)userCryptoAddress_new:(NSString*)remarks wallet_address:(NSString*)wallet_address currencies_id:(NSString*)currencies_id token:(NSString *)token callback:(JFCallBack)callback;

+(void)verifyMobile:(NSString*)mobile countryCode:(NSString*)countryCode  entity:(NSString*)entity callBack:(JFCallBack)callback;

+(void)verifyCode:(NSString*)code entity:(NSString*)entity callBack:(JFCallBack)callback;

+(void)depositMethods:(NSString *)currencyId callback:(JFCallBack)callback;

+(void)deposit:(NSString*)amount wallet_id:(NSString*)wallet_id  method_id:(NSString*)method_id country_iso3166:(NSString*)country_iso3166  currency_id:(NSString*)currency_id user_bank_account_id:(NSString *)user_bank_account_id callBack:(JFCallBack)callback;

+ (void)withdarwFiat:(NSString *)amount wallet_id:(NSString*)wallet_id  withdraw_method_id:(NSString*)withdraw_method_id currency_id:(NSString*)currency_id data:(NSArray *)data token:(NSString *)token callBack:(JFCallBack)callback;
+(void)withdrawFiatMethodWithCurrencyId:(NSString *)currencyId country:(NSString *)country callBack:(JFCallBack)callback;

+(void)bankAccount:(JFCallBack)callback;

+(void)bankAccountDeleteWithId:(NSString*)bankid callback:(JFCallBack)callback;

+(void)bankAccountRequirements:(NSString *)countryCode callback:(JFCallBack)callback;

+(void)bankAccount_submit:(NSString*)bank_account_requriement_id user_remark:(NSString*)user_remark account_type:(NSString*)account_type  fields:(NSArray<NSDictionary*>*)fields callback:(JFCallBack)callback;

+(void)transactions:(JFCallBack)callback;

+(void)transactionsWithId:(NSString*)idStr callback:(JFCallBack)callback;

+(void)transactions2:(NSInteger)type page:(NSInteger)page limit:(NSInteger)limit callback:(JFCallBack)callback;
+(void)transactions2:(NSString *)transactionId callback:(JFCallBack)callback;

+(void)exchanges:(JFCallBack)callback;
+(void)exchangesCCY1:(NSString *)ccy1 ccy1Amount:(NSString *)ccy1Amount ccy1_wallet_id:(NSString *)ccy1_wallet_id ccy2:(NSString *)ccy2 ccy2_wallet_id:(NSString *)ccy2_wallet_id callback:(JFCallBack)callback;
+(void)exchangesTrade:(NSString *)tradeId callback:(JFCallBack)callback;

+(void)token:(JFCallBack)callback;
+(void)allUsers:(JFCallBack)callback;

+(void)get2faCode:(JFCallBack)callback;
+(void)users_2fa:(JFCallBack)callback;
+(void)users_2fa_toggle:(BOOL)enable verifyType:(NSString*)verifyType token:(NSString*)token callback:(JFCallBack)callback;
+(void)users_2fa_verify:(NSString*)key tfaToken:(NSString*)tfaToken callback:(JFCallBack)callback;

//更新手机号
+(void)usersPatch:(NSString*)country_code  mobile:(NSString*)mobile mobile_verification_code:(NSString*)mobile_verification_code callBack:(JFCallBack)callback;


//獲取簽署協議
+(void)singedAgreements:(JFCallBack)callback;

//重置密码
+(void)resetPwd:(NSString*)password verifyType:(NSString*)verifyType  token:(NSString*)token callback:(JFCallBack)callback;


+(JFResultVo*)dataParser:(id)data  dataParserType:(DataParserType)type;
//网络接口失败了才会触发
+(NSString*)errorCodeToErrorMsg:(id)code;

@end

NS_ASSUME_NONNULL_END
